package de.dpunkt.myaktion.model;

import java.util.ArrayList;
import java.util.List;

public class Aktion {
	private String name;
	private Double spendenZiel;
	private Double spendenBetrag;
	private Double bisherGespendet;
	private Konto konto;
	private FormConfig formConfig;
	private Long id;
	private List<Spende> spenden;
	
	public Aktion() {
		this.bisherGespendet = 0d;
		this.konto = new Konto();
		this.spenden = new ArrayList<>();
		this.formConfig = new FormConfig();
	}

	public String getName() {
		return name;
	}

	public void setName(final String name) {
		this.name = name;
	}

	public Double getSpendenZiel() {
		return spendenZiel;
	}

	public void setSpendenZiel(final Double spendenZiel) {
		this.spendenZiel = spendenZiel;
	}

	public Double getSpendenBetrag() {
		return spendenBetrag;
	}

	public void setSpendenBetrag(final Double spendenBetrag) {
		this.spendenBetrag = spendenBetrag;
	}

	public Double getBisherGespendet() {
		return bisherGespendet;
	}

	public void setBisherGespendet(final Double bisherGespendet) {
		this.bisherGespendet = bisherGespendet;
	}

	public Konto getKonto() {
		return konto;
	}

	public void setKonto(final Konto konto) {
		this.konto = konto;
	}

	public FormConfig getFormConfig() {
		return formConfig;
	}
	
	public void setFormConfig(final FormConfig formConfig) {
		this.formConfig = formConfig;
	}
	
	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public void addSpende(final Spende spende) {
		spende.setAktion(this);
		spenden.add(spende);
	}
	
	public void removeSpende(final Spende spende) {
		spende.setAktion(null);
		spenden.remove(spende);
	}
	
	public List<Spende> getSpenden() {
		return new ArrayList<>(spenden);
	}

	public void setSpenden(final List<Spende> spenden) {
		this.spenden = new ArrayList<>(spenden);
	}

	@Override
	public String toString() {
		return "Aktion [name=" + name + ", spendenZiel=" + spendenZiel
				+ ", spendenBetrag=" + spendenBetrag + ", bisherGespendet="
				+ bisherGespendet + ", konto=" + konto + ", id=" + id
				+ ", spenden=" + spenden + "]";
	}

}
